package com.niiwoo.civet.mobile.vo.response.invest;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * Created by dell on 2017/12/18.
 */
@Data
@ToString
@ApiModel("极速借居间借款合同参数")
public class FastLoanContractResponseVO {
	@ApiModelProperty("合同编号")
	private String contractNo;
	@ApiModelProperty("甲方列表")
	private List<APart> aPartList = new ArrayList<>();
	@ApiModelProperty("乙方")
	private BPart bPart = new BPart();
	@ApiModelProperty("丙方")
	private CPart cPart = new CPart();
	@ApiModelProperty("丁方")
	private DPart dPart = new DPart();
	@ApiModelProperty("合同金额")
	private BigDecimal amount;
	@ApiModelProperty("借款期限")
	private Integer deadline;
	@ApiModelProperty("借款年华利率")
	private BigDecimal borrowRate;
	@ApiModelProperty("借款利息")
	private BigDecimal loanInterest;
	@ApiModelProperty("还款方式")
	private String repaymentType;
	@ApiModelProperty("借款用途")
	private String projectTitle;
	@ApiModelProperty("最后还款日期")
	private Date refundDate;
	@ApiModelProperty("罚息率")
	private BigDecimal penaltyRate;
	@ApiModelProperty("平台管理费")
	private BigDecimal platformManagementFee;
	@ApiModelProperty("平台管理费率")
	private BigDecimal platformManageFeeRate;
	@ApiModelProperty("担保服务费")
	private BigDecimal guaranteeServiceFee;
	@ApiModelProperty("担保服务费率")
	private BigDecimal guaranteeServiceFeeRate;


	@ApiModelProperty("生效时间")
	private Date effectiveTime;

	@Data
	@ToString
	@ApiModel("甲方")
	public static class APart {
		@ApiModelProperty("姓名")
		private String name;
		@ApiModelProperty("身份证")
		private String idCard;
		@ApiModelProperty("金额")
		private BigDecimal money;
	}

	@Data
	@ToString
	@ApiModel("已方")
	public static class BPart {
		@ApiModelProperty("姓名")
		private String name;
		@ApiModelProperty("身份证")
		private String idCard;
		@ApiModelProperty("地址")
		private String address;
		@ApiModelProperty("电子邮箱")
		private String email;
	}

	@Data
	@ToString
	@ApiModel("丙方")
	public static class CPart {
		@ApiModelProperty("姓名")
		private String name;
		@ApiModelProperty("电子邮箱")
		private String email;
		@ApiModelProperty("机构信用代码")
		private String institutionalReditCode;
	}

	@Data
	@ToString
	@ApiModel("丁方")
	public static class DPart {
		@ApiModelProperty("姓名")
		private String name;
		@ApiModelProperty("地址")
		private String address;
	}
}
